function [config] = getConfig_consumerAdoptions(runId)
	
	covariates.myX_tk1_names   = {'NumVacationsDays', 'competitor_GoogleTrend', 'photoContest_IDF'};
	covariates.myX_tk1_transfs = [                -1,                   0,             0];
	
	covariates.myX_tk2_names = {'PRCP', 'TAVG'};
	covariates.myX_tk2_transfs = [0,      0];
	
	covariates.myZ_k1_names	= {'UnemploymentRate', 'MedianIncome', 'FractionDiplBelowBac', 'FractionDiplAboveBac', 'PctageVoix_JOLY'};
	covariates.myZ_k1_transfs	= [0,0,0,0,0];
	
	covariates.myZ_k2_names	= {'NumPublicTransitStops', 'NumCarRentalAgencies' 'Area'};
	covariates.myZ_k2_transfs	= [5,5,1];
	laggedBaseTransf.code = 2; laggedBaseTransf.denom = 'Area'; % log(laggedX / Area)
	
	covariates.myAnames	= {'NumHolidays', 'NumStrikeDays', 'summer2013', 'TVshow20140105', 'TVshow20140112', 'spike201302', 'spike201311'};
	covariates.myAtransfs	= [-1 -1 -1 -1 -1 -1 -1];
	
	covariates.myZ_k1_geo_FE_Names  = {'oldRegionId'};
	covariates.myZ_k2_geo_FE_Names  = {'oldRegionId'};
	covariates.time_FE_Names        = {'yearMonth'};
	
	spatialMatricesFolder = '../../data/data_mat/SpatialWeights';
	covariates.spatialMatrices = {'sameCanton', 'Weight_Contiguity', 'sameDEP', 'MobilitePro', 'Weight_TouristTrip'};
	
	initialBaseTreatment = true;
	
	
	if runId <= 100
		%%% week-level
		dataId = 1;
		modelId = 2; % Poisson (discrete-time data)
		runFolder = createFolderIfNotExist(sprintf('../../results/week_level/consumerAdoptions/run_%03d', runId));
	else
		covariates.myAnames	= [{'isWeekendDay'} covariates.myAnames];
		covariates.myAtransfs	= [-1 covariates.myAtransfs];

		%%% day-level
		if runId > 100 && runId <= 200
			dataId = 2;
			modelId = 2; % Poisson (discrete-time data)
			runFolder = createFolderIfNotExist(sprintf('../../results/day_level/consumerAdoptions/run_%03d', runId));
		end

		%%% continuous-time
		if runId > 200 && runId <= 300
			dataId = 3;
			modelId = 3; % Exponential (continuous-time data)
			runFolder = createFolderIfNotExist(sprintf('../../results/continuous_time/consumerAdoptions/run_%03d', runId));
			startingPointFile = sprintf('../../results/day_level/consumerAdoptions/run_%d/results.mat', runId-100);
		end
	end
	
	%%%%% Week-level %%%%%
	if runId == 1
		% nothing
	end
	
	%%%%% Day-level %%%%%
	if runId == 101
		% nothing
	end

	if runId == 102
		covariates.spatialMatrices = {'sameCanton', 'Weight_Contiguity', 'sameDEP'};
	end

	if runId == 103
		covariates.spatialMatrices = {'sameCanton', 'Weight_Contiguity'};
	end

	if runId == 104
		covariates.spatialMatrices = {'sameCanton'};
	end

	if runId == 105
		covariates.spatialMatrices = {};
	end
		
	if runId == 106 % Use log-numbers instead of log-densities (except for pop density) and does not include log(Area) as covariate
		covariates.myZ_k2_names	= {'NumPublicTransitStops', 'NumCarRentalAgencies'};
		covariates.myZ_k2_transfs	= [4,4]; % !
		laggedBaseTransf.code = 1; % !
	end
	
	%%%%% Continuous-time %%%%%
	if runId == 201
		% nothing
	end
	
	if runId == 202
		covariates.spatialMatrices = {'sameCanton', 'Weight_Contiguity', 'sameDEP'};
	end

	if runId == 203
		covariates.spatialMatrices = {'sameCanton', 'Weight_Contiguity'};
	end

	if runId == 204
		covariates.spatialMatrices = {'sameCanton'};
	end

	if runId == 205
		covariates.spatialMatrices = {};
	end
	
	if runId == 206
		covariates.myZ_k2_names	= {'NumPublicTransitStops', 'NumCarRentalAgencies'};
		covariates.myZ_k2_transfs	= [4,4]; % !
		laggedBaseTransf.code = 1; % !
	end	
	
	%%%%% Store everything into object config
	config.runId             = runId;
	config.modelId           = modelId;
	config.dataId            = dataId;
	config.runFolder         = runFolder;
	config.runDataFile       = sprintf('%s/runData.mat', runFolder);
	config.dynPredInputFile  = sprintf('%s/dynamicPredInputs.mat', runFolder);
	
	config.covariates               = covariates;
	config.laggedBaseTransf         = laggedBaseTransf;
	config.spatialMatricesFolder    = spatialMatricesFolder;
	config.initialBaseTreatment     = initialBaseTreatment;
	
	if exist('startingPointFile'); config.startingPointFile = startingPointFile; end;
end
